The present invention relates to improvements in the systems and methods for communicating in an environment including at least one secure tunnel (such as is sometimes referred to as Internet Protocol Security or “IPSec” herein and in the industry and its standards activity).
Communications systems involve a variety of devices which are connected to a data transmission network, often through a variety of conventional devices such as routers, switches and other components. As the networks have become larger, incorporating local area networks (LANs) and wide-area networks (WANs), these networks have become more complex and involve an increasing number of components. One of the largest networks is referred to as the Internet, a constantly-changing communications network including a large number of interconnected network devices or workstations.
In addition, many companies are now applying Internet technologies to build private Intranets, enabling users in an organization to go beyond electronic mail and access critical data through web browsers. While Internet traffic is currently composed primarily of text, graphics, and images, this traffic is expected to expand in the near term to include more bandwidth intensive audio, video, voice, and multi-media applications.
As applications proliferate and demand ever greater shares of bandwidth at the desktop and as a total number of users continues to grow, the pressure for increased bandwidth will continue to grow at the desktop, the server, the hub, and the switch. Organizations will need to migrate critical portions of their networks to higher bandwidth technologies, such as Gigabit Ethernet, Fast Ethernet, Gigabit Token-Ring, and High Speed Token-Ring.
Successful communications requires that each message be properly addressed within the communications system and that each link in the communications system be connected to the system and perform properly. If any of the links fail, communications through the failed link will not be successful. When communications through the system have failed, it is necessary to isolate the problem so it can be resolved, a process which involves testing the components, either individually or in groups.
One method of testing a communications system to determine if it is properly connected and performing is called a “ping”. A ping is a message sent from a first network device and addressed to a second network device with the request that a responsive message be returned from the second network device to the first device, indicating that both network devices and the intervening network devices are properly connected to the network and that each is working appropriately.
A ping is also used in testing large and complex networks. It is particularly useful for testing the network in portions. Thus, when the entire network is not properly working pings may be used to isolate the problem. In essence, a portion of the network can be tested and determined to be operating properly, indicating that any problem in the larger network must be located elsewhere.
Communications on the Internet presents additional problems because of the size of the network and because communications are not handled in a uniform manner—a first packet between two devices may be sent over one route and a completely different path may be used for a second packet, even when both packets are part of the same message. Furthermore, the Internet is inherently unsecure. As security techniques are defined to add security to the Internet, these techniques often conflict with the techniques (such as the “ping” testing methods) which have been in common use.
As organizations such as the Internet Engineering Task Force (IETF) define techniques for reducing the security exposures of Internet communications, security concepts such as IP security (IPSec) have been proposed. IPSec is a developing standard for security at the network or packet processing layer of network communications. Earlier security approaches inserted security at the application layer of the communications model. IPSec is especially useful for implementing virtual private networks (VPNs) and for remote user access through dial-up connection to private networks. A big advantage of IPSec is that security arrangements can be handled without requiring changes to individual user computers. IPSec provides two choices of security service: Authentication Header (AH), which allows authentication of a sender of data and Encapsulating Security Payload (ESP) which supports both authentication of the sender and encryption of the data as well. The specific information associated with each of these services is inserted into the packet in a header that follows the IP packet header. Separate key protocols can be selected, such as the ISAKMP/Oakley protocol.
One feature of IPSec includes secure tunnels, in which a single logical tunnel is limited to communication of messages from a single source address to a single destination address and which may require other specific security features defined for communication between network devices. A secure tunnel in such communications systems inherently provides a limited, one-way communications path because its definition allows only messages from a single source to a single destination, so that a return message from the original destination back to the original source cannot use the same secure tunnel as the message going the other way, but such return message must use a different path such as a different secure tunnel with its own security requirements.
Tunneling or encapsulation is a common technique in packet-switched networks. It consists of wrapping a packet in a new one. That is, a new header is attached to the original packet. The entire original packet becomes the payload of the new one. In general, tunneling is used to carry traffic of one protocol over a network that does not support that protocol directly. For example, NetBIOS or IPX can be encapsulated in IP to carry it over a TCP/IP wide area network (WAN) link. In the case of IPSec, IP is tunneled through IP for a slightly different purpose, i.e., to provide total protection, including the header of the encapsulated packet. If the encapsulated packet is encrypted, an intruder cannot figure out the destination address of that packet. Without tunneling the intruder could. The internal structure of a private network can be concealed in this manner.
A notable advantage of IP tunneling is the possibility to exchange packets with private IP addresses between two intranets over the public Internet, which requires globally unique addresses. Since the encapsulated header is not processed by the Internet routers, only the end points of the tunnel (the gateways) need to have globally assigned addresses; the hosts and the intranets behind them can be assigned private addresses. As globally unique IP addresses are becoming a scarce resource, this interconnection method gains importance.
IPSec can be configured to create tunnels in two modes:
1. Tunnel mode—in which the protocol data unit (PDU) is encapsulated within another IP frame and an outermost IP address is added. This address is the address of the tunnel termination device.
2. Transport mode—in which the PDU is not encapsulated and the existing (outermost) IP address is used. This address is the address of the tunnel termination device.
The present invention applies to tunnel mode. Note that in IPSec terminology, the word tunnel is used to describe both a mode of operation, i.e., tunnel mode (a new header is created to encapsulate the original IP frame), or transport mode (no new header is created).
It is necessary to have certain information in order to use a secure tunnel: for example, the configuration/policy for IPSec devices may require a “legal address”, a security protocol indicator (also known as an SPI value) and a valid key before an originating device can send frames through a secure tunnel to a destination device.
Prior art secure communications systems have disadvantages and limitations and constructing a message for providing a ping in a system of secure tunnels is far from a simple process and may depend on information which is hard to acquire and difficult to use. Furthermore, the entire concept of a “ping” message in a secure tunnel environment such as the IPSec proposed by a standards organization may be difficult to implement, in view of the construction and operation of the secure tunnels which have the effect of limiting communication and requiring strict adherence to certain communications protocols.
The above-referenced co-pending, commonly assigned patent application “Apparatus, Method and System for Secure Tunnel Ping and Message Format for Use Therein” provides a “ping” method for testing a secure communication system. During the life of an IPSec tunnel, a variety of problems may occur to disrupt the connectivity of the tunnel. Within the IPSec standard, there is no “keep alive” or “heart beat” protocol to detect that a tunnel is no longer functioning, thus there is no method at the network layer that can detect this.